package com.at.clinica.model
{
	import com.asfusion.mate.events.DispatcherEvent;
	import com.at.clinica.events.ATClinicaEvent;
	import com.at.clinica.vos.Categoria;
	import com.at.clinica.vos.Item;
	import com.at.clinica.vos.SubCategoria;
	
	import flash.events.MouseEvent;
	
	import mx.collections.ArrayCollection;
	import mx.controls.Alert;
	
	public class ProgramaPanelModel extends PresentationModel
	{
		
		[Bindable]
		public var categorias:ArrayCollection;
		
		[Bindable]
		public var subCategorias:ArrayCollection;
		[Bindable]
		public var items:ArrayCollection;
		
		/*[Bindable]
		public var itemSeleccionado:Item = new Item();*/
		private var _itemSeleccionado:Item = new Item();
		
		[Bindable]
		public function get itemSeleccionado():Item
		{
			return _itemSeleccionado;
		}
		
		public function set itemSeleccionado(value:Item):void
		{
			_itemSeleccionado = value;
			
			if( itemSeleccionado != null) 
			{
				for each( var searchCategoria:Categoria in categorias )
				{
					if( searchCategoria.nombreCategoria.localeCompare( itemSeleccionado.categoria.nombreCategoria ) == 0 )
						itemSeleccionado.categoria = searchCategoria;
				}
				
				buscarSubcategorias_Categoria();
				
				//No anda
				for each( var searchSubCategoria:SubCategoria in subCategorias )
				{
					if( searchSubCategoria.nombreSubCategoria.localeCompare(
                              itemSeleccionado.subCategoria.nombreSubCategoria ) == 0 )
						itemSeleccionado.subCategoria = searchSubCategoria;
				}
			}
		}
		
		public function buscarSubcategorias_Categoria():void
		{
			var event:ATClinicaEvent = new ATClinicaEvent( ATClinicaEvent.BUSCAR_SUBCATEGORIAS_CATEGORIAS );
			event.categoriaSeleccionado = itemSeleccionado.categoria;
			
			dispatch(event);
			
		}
		public function btAgregar_clickHandler(eventMouse:MouseEvent):void
		{
			var event:ATClinicaEvent = new ATClinicaEvent( ATClinicaEvent.ALTA_ITEM );
			event.item = itemSeleccionado;
			
			dispatch(event);
			
			itemSeleccionado = null;
		}
		
		public function ProgramaPanelModel()
		{
		}
	}
}